DAC数模转换
DAC让芯片可以"讲话"了!
up的视频讲解:
1 DAC 原理
1.1 DAC 简介
DAC (Digital-to-Analog Converter)数模转换器,是指将离散的数字信号 转换为 模拟信号的器件
-
F103C8T6 只有 1 个 DAC
-
是12 位精度 (0 ~ 4095) 电压输出 (0V ~ 3.3V)
-
有两个用途:输出波形 和 输出固定电压
1.2 DAC 结构框架图
我们从信号的 触发 --> 生成 --> 输出 这个流程来分析DAC的结构

- 信号触发
-
TIM2,TIM4,TIM5,TIM6,TIM7, TIM8定时器触发
-
EXTI9外部中断线触发
-
软件触发
- 信号生成
-
DAC受
DOR寄存器直接控制的,但是数据并不是直接传入DOR的,需要先传入DHR之后在间接地传给DOR寄存器-
如果没有选择硬件触发(TENx=0),在一个APB1周期后传入
DOR -
如果选择硬件触发(TENx=1),则在3个APB1周期后传入
DOR
-
-
一旦数据装入
DOR寄存器,在经过时间Testting(大约3us) 之后,输出即有效

-
LFSRx噪声波形模块 线性移位寄存器,生成伪随机噪声数字序列 -
trianglex三角波模块,自动递增 / 递减数字值;MAMPx[3:0] 设置三角波峰值幅度
- 信号输出
-
DAC输出电压 = VREF x (DOR / 4095)
- DAC电压输出范围为0到参考电压VREF+

1.3 DAC 数据格式
根据上面可知,数据先写入DHR寄存器,然而实际上DHR一共有3个寄存器对应三种数据格式(不通过移位, 减小CPU负担)

-
8位数据右对齐
-
12位数据左对齐
-
12位数据右对齐